package ecitys.gcs

import ecitys.commons.Entidade
import ecitys.commons.Municipio
import ecitys.commons.Uf


class Estabelecimento {
	ResponsavelSefip responsavelSefip
	FornecedorFolha fornecedorFolha
	Sindicato sindicato
	String nomeDoEstabelecimento
	String cnpjEstabelecimento
	String nomeLogradouro
	String numeroLogradouro
	String bairro
	String cep
	String complemento
	String ddd
	String numeroTelefone
	String numeroFax
	String enderecoEmail
	String enderecoSite
	int isMatriz
	String inscricaoEstadual
	String inscricaoMunicipal
	int isCentralizadorFgts
	String numeroCei
	int opcaoPat
	int opcaoFiliacaoSindicato
	int mesDataBase
	int utilizaArredondamento
	int opcao13Salario
	int opcaoPagamentoSalario
	Uf uf
	Municipio municipio
	
	static belongsTo = [entidade:Entidade]
	
	static mapping = {
		table schema:"gcs"
	}

    static constraints = {
		responsavelSefip(nullable:true)
		fornecedorFolha(nullable:true)
		sindicato(nullable:true)
		entidade(nullable:false)
		nomeDoEstabelecimento(blank:false, maxSize:45, unique:true, nullable:false)
		cnpjEstabelecimento(blank:false, maxSize:11, unique:true, nullable:false)
		nomeLogradouro(blank:false, maxSize:30, nullable:false)
		numeroLogradouro(blank:false, maxSize:5, nullable:false)
		bairro(blank:false, maxSize:30, nullable:false)
		cep(blank:true, maxSize:8, nullable:false)
		complemento(blank:true, maxSize:30, nullable:true)
		ddd(blank:true, maxSize:2, nullable:true)
		numeroTelefone(blank:true, maxSize:8, nullable:true)
		numeroFax(blank:true, maxSize:8, nullable:true)
		enderecoEmail(email:true, blank:true, nullable:true)
		enderecoSite(url:true, blank:true, nullable:true)
		isMatriz(blank:false, nullable:false)
		inscricaoEstadual(blank:true, maxSize:20, nullable:true)
		inscricaoMunicipal(blank:true, maxSize:20, nullable:true)
		isCentralizadorFgts(blank:false, nullable:false)
		numeroCei(blank:true, maxSize:14, nullable:true)
		opcaoPat(blank:true, nullable:true)
		opcaoFiliacaoSindicato(blank:true, nullable:true)
		mesDataBase(blank:true, nullable:true)
		utilizaArredondamento(blank:true, nullable:true)
		opcao13Salario(blank:false, nullable:false)
		opcaoPagamentoSalario(blank:false, nullable:false)
		uf(blank:false, nullable:false)
		municipio(blank:false, nullable:false)
    }
}
